package com.tbit.main.service;

import com.tbit.main.pojo.Machine;
import com.tbit.main.pojo.WorkOrderConfig;
import com.tbit.main.pojo.WorkOrderFinishing;

/**
 * @author LMY
 * @create 2021-08-23 10:23
 * 工单定时任务
 */
public interface WorkOrderQuartzService {

    /**
     * 挪车工单
     */
    void moveOrder();

    /**
     * 换电工单
     */
    void lockPowerOrder();

    /**
     * 删除无效工单
     */
    void delWork();

    /**
     * 生成工单
     *
     * @param userId
     * @param workOrderConfig
     * @param machine
     * @param regionId
     * @param workType
     */
    void workOrder(Integer userId, WorkOrderConfig workOrderConfig, Machine machine,
                   Integer regionId, Integer workType, Integer state, Integer locationType);

    /**
     * 推送
     *
     * @param userId
     * @param buildType
     * @param workType
     * @param voice
     */
    void JPush(Integer userId, Integer buildType, Integer workType, String voice);

    /**
     * 结束订单判断是否生成挪车工单
     *
     * @param machine
     * @param locationType
     */
    void WorkOrder_NC(Machine machine, Integer locationType);

    /**
     * 删除工单
     *
     * @param workOrderId
     */
    void delWorkOrder(String workOrderId, WorkOrderFinishing workOrderFinishing);
}
